home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / kboot014.d64 / menu.proc < prev    next >
Text File  |  2009-01-23  |  1KB  |  62 lines

  1. 9000 //
  2. 9010 FUNC MENU(REF NAME$(),ROW,COL,NUM#) CLOSED
  3. 9020 // IMPORT ROTATE'EXTEND
  4. 9030 // IMPORT EXTENDED'COLOR
  5. 9040 TRAP ESC-
  6. 9050 Z:=ZONE
  7. 9060 ZONE 0
  8. 9070 DIM VALID$ OF 6
  9. 9080 VALID$:="æ"+CHR$(13)
  10. 9090 //USE SYSTEM
  11. 9100 LINE#:=1; DONE:=FALSE
  12. 9110 DIM C$ OF 1
  13. 9120 DIM SPACE$ OF 40
  14. 9130 SPACE$(1):=" "
  15. 9140 MAX:=1
  16. 9150 FOR L#:=1 TO NUM# DO
  17. 9160 IF LEN(NAME$(L#))>MAX THEN MAX:=LEN(NAME$(L#))
  18. 9170 ENDFOR L#
  19. 9180 REPEAT 
  20. 9190 FOR L#:=1 TO NUM# DO
  21. 9200 IF L#=LINE# THEN
  22. 9210 PRINT "",
  23. 9220 ELSE 
  24. 9230 PRINT "Æ",
  25. 9240 ENDIF 
  26. 9250 SPACE$(2:MAX+2):=NAME$(L#)
  27. 9260 PRINT'AT(ROW+L#-1,COL,SPACE$)
  28. 9270 ENDFOR L#
  29. 9280 REPEAT 
  30. 9290 C$:=KEY$
  31. 9300 IF ESC THEN
  32. 9310 LINE#:=0
  33. 9320 C$:=CHR$(13)
  34. 9330 ENDIF 
  35. 9340 UNTIL C$ IN VALID$
  36. 9350 CASE C$ OF
  37. 9360 WHEN CHR$(13)
  38. 9370 DONE:=TRUE
  39. 9380 WHEN CHR$(19)
  40. 9390 LINE#:=1
  41. 9400 WHEN CHR$(17)
  42. 9410 IF LINE#<NUM# THEN LINE#:+1
  43. 9420 WHEN CHR$(145)
  44. 9430 IF LINE#>1 THEN LINE#:-1
  45. 9440 OTHERWISE 
  46. 9450 NULL
  47. 9460 ENDCASE 
  48. 9470 UNTIL DONE
  49. 9480 TRAP ESC+
  50. 9490 RETURN LINE#
  51. 9500 ENDFUNC MENU
  52. 9510 //
  53. 9520 PROC PRINT'AT(ROW,COL,TEXT$) CLOSED
  54. 9530 ADDR:=1024+(ROW-1)*40
  55. 9540 POKE 209,ADDR MOD 256
  56. 9550 POKE 210,ADDR DIV 256
  57. 9560 POKE 211,COL-1
  58. 9570 POKE 214,ROW-1
  59. 9580 PRINT TEXT$,
  60. 9590 ENDPROC PRINT'AT
  61. 9600 //
  62.